/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.kwikMart.Controller;

import com.kwikMart.accesData.Cliente;
import com.kwikMart.business.ClienteEJBLocal;
import com.kwikMart.utils.OperationResult;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author WIL
 */
@ManagedBean
@SessionScoped
public class sessionBean implements Serializable {

    @EJB
    private ClienteEJBLocal clienteEJB;

    private Cliente clienteSesion;
    private String pass;
    private Integer numDocumento;

    public sessionBean() {
    }

    public Cliente getClienteSesion() {
        return clienteSesion;
    }

    public void setClienteSesion(Cliente clienteSesion) {
        this.clienteSesion = clienteSesion;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public Integer getNumDocumento() {
        return numDocumento;
    }

    public void setNumDocumento(Integer numDocumento) {
        this.numDocumento = numDocumento;
    }

    public String cerrarSesion() {
        this.clienteSesion = null;
        return "Home";
    }

    private OperationResult resultadoAutenticar;

    public OperationResult getResultadoAutenticar() {
        return resultadoAutenticar;
    }

    public void setResultadoAutenticar(OperationResult resultadoAutenticar) {
        this.resultadoAutenticar = resultadoAutenticar;
    }

    public String autenticar() {
        this.resultadoAutenticar = new OperationResult(false);
        Cliente result;
        result = clienteEJB.autenticar(pass, numDocumento);

        if (result != null) {
            this.clienteSesion = result;
            this.resultadoAutenticar.setOk(true);
            return "Home";
        } else {
            return null;
        }
    }

    public void refrescarInfoCliente() {
        this.clienteSesion = this.clienteEJB.refrescarInfoCliente(this.clienteSesion.getNumeroDocumento());
    }
}
